Prograph is a fully visual programming language. Its icons represent the various types of programming elements, such as classes, attributes, persistents, and the different categories of operations. This chapter catalogues all the program elements that can appear in the Prograph editor windows. For each element, the title contains the name of the element or window and the menu item to either draw the element icon or open the window.
Textual content and explanation is kept to a minimum in this chapter. Think of this chapter as a “mug shot” album to help you identify Prograph windows and the things you might see in them. With a “suspect” identified, you can use the index and table of contents of this manual to locate additional information about the meaning and use of any element represented here. *426*
t
 
 
 
The class icon in the Classes window is hexagonal and is divided into left and right halves corresponding to its two components, namely Attributes and Methods. *427*
 
System classes are differentiated from user-defined classes by a thick double line along their bottom edge.
Selected objects in Prograph are displayed in reverse video (red on a color monitor). For example, the class Car is a selected object in the Classes window above. *428*
t
 
 
Attributes can be either Class attributes or Instance attributes. In turn, these can either be user-defined or system defined.
System Attributes
 
Like System class icons, System class attribute icons are visually distinguished from user-defined attributes by a double line. *429*
 
A downward arrow within an attribute icon, it indicates that the attribute is inherited.
User-defined Attributes
 
 
t
 
Prograph methods can be either universal or class-based, and are accessible accordingly.
Universal methods are not “owned” by any class. Their icons are organized and accessible in the Universal Methods window. *430*
 
A nonuniversal method must belong to one of the System or user-defined classes. The method’s icon is located in the <className> Methods window of the class (named <className>) in which the method is defined.
 
In this window, the Car class has a mortgage method and engine a Get method.
Method icons that can appear in a <className> methods window are as follows (with their compact versions at right): *431*
 
t
 
 
t Case Window *432*
 
Banner
 
Logo *433*
The logo indicates the type of method that the case window displays:
  Simple
  Initialization
  Get
  Set
  Local
Class / Name
This indicates the name of the displayed method. The name of the class in which the method is defined is displayed first and is separated from the method name by a slash character. If the method is a universal method, no class name and slash character precede the method name.
Case List Button
The Case List button opens or closes the Case List pane. When option-clicked, it opens the parent method of a local.
Case List Pane *434*
This horizontally scrolling iconic list pane appears at the bottom of the case window as shown:
 
A variety of mouse interactions within the Case List pane opens, reorders, creates, and deletes cases of the displayed method. If the case icons do not all fit in the visible area of the pane, the horizontal scroll bar activates to move left and right in the icon list. *435*
t
 
 
t Execution Case Window *436*
Double-clicking a method icon in the Stack window opens an execution case window that displays the current state of the case executing.
 
In addition to opening an execution case window from the Stack window, an execution window is displayed when a breakpoint is encountered or if you have options set for Step/Show mode. Double-clicking on the patterned background of the execution case window opens an editable case window on the displayed method. Option-clicking thecase list button opens the calling case.